# -*- coding:UTF-8 -*-
'''
开发环境：PyCharm
创建日期：2025/8/5 11:19
作   者：新启典学苑-樱桃
描   述：selenium 8种定位元素的方式
            id  根据id定位
            name  根据name定位
            class name 根据class name定位，可以用多个class name，用.分隔。也可以用某一个class name来定位。
'''
from time import sleep

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Edge()  # 创建edge浏览器对象
driver.get("http://www.baidu.com")  # 访问百度
sleep(1)
a = driver.find_element(By.ID, "kw")  # 定位某个元素，存储到变量a中
print(type(a))  # webelement
a.send_keys("hello world")  # 输入内容

b = driver.find_element(By.ID, "su")
b.click()  # 点击

driver.find_element(By.NAME, "wd").clear()  # 清空输入框的内容
driver.find_element(By.NAME, "wd").send_keys("123456")
b.click()

# <a href="http://news.baidu.com" target="_blank" class="mnav c-font-normal c-color-t">
driver.get("http://www.baidu.com")
es = driver.find_elements(By.CLASS_NAME, "c-font-normal") # 返回多个元素的列表，用一个class定位
for e in es: # 遍历列表
    print(e.get_dom_attribute("href"))  # 获取元素的属性

print("*" * 100)

es = driver.find_elements(By.CLASS_NAME, "mnav.c-font-normal.c-color-t") # 用多个class定位
for e in es:
    print(e.get_dom_attribute("href"))
sleep(10)
